package com.ly.heart.service.impl;

import java.util.List;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;

import com.ly.common.exception.CustomException;
import com.ly.common.utils.DateUtils;
import com.ly.common.utils.SecurityUtils;
import com.ly.common.utils.erp.SnowflakeIdWorker;
import com.ly.heart.mapper.KingProfitLossDetailMapper;
import com.ly.heart.service.IKingProfitLossDetailService;
import org.springframework.stereotype.Service;
import com.ly.heart.domain.KingProfitLossDetailEntity;

import javax.annotation.Resource;

/**
 * 盘盈单/盘亏单明细信息Service业务层处理
 * @author wutao
 * @date 2024-07-23
 */
@Service
public class KingProfitLossDetailServiceImpl extends ServiceImpl<KingProfitLossDetailMapper, KingProfitLossDetailEntity> implements IKingProfitLossDetailService {

    @Resource
    private KingProfitLossDetailMapper kingProfitLossDetailEntityMapper;

    /**
     * 查询盘盈单/盘亏单明细信息
     * @param id 盘盈单/盘亏单明细信息ID
     * @return 盘盈单/盘亏单明细信息
     */
    @Override
    public KingProfitLossDetailEntity selectKingProfitLossDetailEntityById (String id) {
        return kingProfitLossDetailEntityMapper.selectKingProfitLossDetailEntityById ( id );
    }

    /**
     * 查询盘盈单/盘亏单明细信息列表
     * @param kingProfitLossDetailEntity 盘盈单/盘亏单明细信息
     * @return 盘盈单/盘亏单明细信息
     */
    @Override
    public List<KingProfitLossDetailEntity> selectKingProfitLossDetailEntityList (KingProfitLossDetailEntity kingProfitLossDetailEntity) {
        return kingProfitLossDetailEntityMapper.selectKingProfitLossDetailEntityList ( kingProfitLossDetailEntity );
    }

    /**
     * 新增盘盈单/盘亏单明细信息
     * @param kingProfitLossDetailEntity 盘盈单/盘亏单明细信息
     * @return 结果
     */
    @Override
    public int insertKingProfitLossDetailEntity (KingProfitLossDetailEntity kingProfitLossDetailEntity) {
        kingProfitLossDetailEntity.setId ( SnowflakeIdWorker.getInstance ().nextStringId () );
        kingProfitLossDetailEntity.setCreateUserId ( SecurityUtils.getLoginUser ().getUser ().getUserId () );
        kingProfitLossDetailEntity.setCreateDate ( DateUtils.getNowDate () );
        boolean save = this.save ( kingProfitLossDetailEntity );
        if ( !save ) {
            throw new CustomException ( "新增盈亏的失败！" );
        }
        return 1;
    }

    /**
     * 修改盘盈单/盘亏单明细信息
     * @param kingProfitLossDetailEntity 盘盈单/盘亏单明细信息
     * @return 结果
     */
    @Override
    public int updateKingProfitLossDetailEntity (KingProfitLossDetailEntity kingProfitLossDetailEntity) {
        kingProfitLossDetailEntity.setUpdateDate ( DateUtils.getNowDate () );
        return kingProfitLossDetailEntityMapper.updateKingProfitLossDetailEntity ( kingProfitLossDetailEntity );
    }

    /**
     * 批量删除盘盈单/盘亏单明细信息
     * @param ids 需要删除的盘盈单/盘亏单明细信息ID
     * @return 结果
     */
    @Override
    public int deleteKingProfitLossDetailEntityByIds (String[] ids) {
        return kingProfitLossDetailEntityMapper.deleteKingProfitLossDetailEntityByIds ( ids );
    }

    /**
     * 删除盘盈单/盘亏单明细信息信息
     * @param id 盘盈单/盘亏单明细信息ID
     * @return 结果
     */
    @Override
    public int deleteKingProfitLossDetailEntityById (String id) {
        return kingProfitLossDetailEntityMapper.deleteKingProfitLossDetailEntityById ( id );
    }
}
